Situations where users of computing devices wish to communicate data present a number of challenges.
Some methods for securely transmitting security parameters (e.g. public keys) between two computing devices may require either manual verification of the security parameter by users of the computing devices (e.g. checking and confirming the public key fingerprint) or a large amount of infrastructure (e.g. a public key infrastructure to create and maintain authentic certificates containing public keys).